package com.moli.iov.open.authentication.store;

import com.moli.iov.sys.model.dto.res.ClientDetailsResDto;

/**
 * <p>
 * 令牌 dao接口
 * </p>
 *
 * @author zql
 * @since 2019/8/29 17:23
 */
public interface TokenStore {

  /**
   *
   * 存储token
   *
   * @param accessToken
   * @param clientDetailsResDto
   */
  void storeAccessToken(String accessToken, ClientDetailsResDto clientDetailsResDto);

  /**
   *
   * 获取token
   *
   * @param appId
   * @return
   */
  String getAccessToken(String appId);

  /**
   * 校验accessToken是否存在 并返回客户端信息
   * @param accessToken
   * @return
   */
  ClientDetailsResDto validAccessToken(String accessToken);

  /**
   * 修改 accessToken
   * @param accessToken
   * @param clientDetailsResDto
   * @return
   */
  void modifyAccessToken(String accessToken, ClientDetailsResDto clientDetailsResDto);
}
